 /**
  * 基类全局Behavior
  * 不需要每个页面再单独引入
  */
 ! function() {
     let PageTmp = Page;
     Page = function(pageConfig) {
         let basePage = require('./common/BasePage');
         let behaviors = [basePage];
         if (pageConfig.behaviors) {
             behaviors = behaviors.concat(pageConfig.behaviors);
         }
         delete pageConfig.behaviors;

         //获取当前页面路由
         let routerUrl = ""
         wx.onAppRoute(function(res) {
             //app.js中需要在隐式路由中才能用getCurrentPages（）获取到页面路由
             let pages = getCurrentPages(),
                 view = pages[pages.length - 1];
             routerUrl = view.route
         })

         pageConfig = Object.assign({
             behaviors,
             onShareAppMessage: function() {
                 //根据不同路由设置不同分享内容（微信小程序分享自带参数，如非特例，不需配置分享路径）
                 let shareInfo = {}
                 let noGlobalSharePages = ["index/index"]
                 //全局分享配置，如部分页面需要页面默认分享或自定义分享可以单独判断处理
                 if (!routerUrl.includes(noGlobalSharePages)) {
                     shareInfo = {
                         // title: "title",
                         // imageUrl: wx.getStorageSync("shareUrl")
                     }
                 }
                 return shareInfo
             }
         }, pageConfig);

         // 配置页面模板
         PageTmp(pageConfig);
     }
 }();
 App({
     onLaunch() {
         let statusBarHeight = wx.getSystemInfoSync().statusBarHeight
         let info = wx.getMenuButtonBoundingClientRect()
         this.globalData.navInfo = {
             statusHeight: statusBarHeight,
             top: info.top,
             height: info.height,
             left: info.left //胶囊左边的width
         }

         // 版本更新
         if (wx.canIUse('getUpdateManager')) {
             const updateManager = wx.getUpdateManager();
             updateManager.onCheckForUpdate(function(res) {
                 // 请求完新版本信息的回调 
                 if (res.hasUpdate) {
                     updateManager.onUpdateReady(function() {
                         // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
                         updateManager.applyUpdate();
                     })
                     updateManager.onUpdateFailed(function() {
                         // 下载失败 
                         wx.showModal({
                             title: '提示',
                             content: '检查到有新版本但下载失败，请删除当前小程序重新搜索打开',
                             showCancel: false,
                         })
                     })
                 }
             });
         } else {
             //如果小程序需要在最新的微信版本体验，如下提示
             wx.showModal({
                 title: '更新提示',
                 content: '当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试。'
             })
         }
     },
     watchGlobalData(key, callback) {
         let obj = this.globalData
         let value = obj[key]
         Object.defineProperty(obj, key, {
             set(newValue) {
                 value = newValue
                 callback(newValue)
             },
             get() {
                 return value
             }
         })
     },
     globalData: {
         userInfo: null,
         navInfo: null, //自定义导航栏信息
         cartCheckNum: undefined, //购物车全局选中数量
     }
 })

 import Dialog from '@vant/weapp/dialog/dialog';

 Dialog.setDefaultOptions({
     /**vant dialog组件配置 */
     width: '630rpx',
     confirmButtonColor: 'var(--themColor)',
     cancelButtonColor: '#BDBDBD',
     zIndex: 9999
 })
 Object.assign(wx, { $dialog: Dialog })